/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pojo;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author jeferson
 */
@Entity
@Table(name = "TB_CONTASRECEBER", catalog = "musical", schema = "")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "TbContasreceber.findAll", query = "SELECT t FROM TbContasreceber t"),
    @NamedQuery(name = "TbContasreceber.findByContCodigo", query = "SELECT t FROM TbContasreceber t WHERE t.contCodigo = :contCodigo"),
    @NamedQuery(name = "TbContasreceber.findByContDatavencimento", query = "SELECT t FROM TbContasreceber t WHERE t.contDatavencimento = :contDatavencimento"),
    @NamedQuery(name = "TbContasreceber.findByContDatapagamento", query = "SELECT t FROM TbContasreceber t WHERE t.contDatapagamento = :contDatapagamento"),
    @NamedQuery(name = "TbContasreceber.findByContValorpago", query = "SELECT t FROM TbContasreceber t WHERE t.contValorpago = :contValorpago"),
    @NamedQuery(name = "TbContasreceber.findByContJuro", query = "SELECT t FROM TbContasreceber t WHERE t.contJuro = :contJuro"),
    @NamedQuery(name = "TbContasreceber.findByContMulta", query = "SELECT t FROM TbContasreceber t WHERE t.contMulta = :contMulta"),
    @NamedQuery(name = "TbContasreceber.findByContParcela", query = "SELECT t FROM TbContasreceber t WHERE t.contParcela = :contParcela")})
public class TbContasreceber implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "CONT_CODIGO")
    private Long contCodigo;
    @Basic(optional = false)
    @Column(name = "CONT_DATAVENCIMENTO")
    private String contDatavencimento;
    @Basic(optional = false)
    @Column(name = "CONT_DATAPAGAMENTO")
    private String contDatapagamento;
    @Column(name = "CONT_VALORPAGO")
    private String contValorpago;
    @Column(name = "CONT_JURO")
    private String contJuro;
    @Column(name = "CONT_MULTA")
    private String contMulta;
    @Column(name = "CONT_PARCELA")
    private String contParcela;
    @JoinColumn(name = "CONT_CODVENDA", referencedColumnName = "VEND_CODIGO")
    @ManyToOne(optional = false)
    private TbVenda contCodvenda;

    public TbContasreceber() {
    }

    public TbContasreceber(Long contCodigo) {
        this.contCodigo = contCodigo;
    }

    public TbContasreceber(Long contCodigo, String contDatavencimento, String contDatapagamento) {
        this.contCodigo = contCodigo;
        this.contDatavencimento = contDatavencimento;
        this.contDatapagamento = contDatapagamento;
    }

    public Long getContCodigo() {
        return contCodigo;
    }

    public void setContCodigo(Long contCodigo) {
        Long oldContCodigo = this.contCodigo;
        this.contCodigo = contCodigo;
        changeSupport.firePropertyChange("contCodigo", oldContCodigo, contCodigo);
    }

    public String getContDatavencimento() {
        return contDatavencimento;
    }

    public void setContDatavencimento(String contDatavencimento) {
        String oldContDatavencimento = this.contDatavencimento;
        this.contDatavencimento = contDatavencimento;
        changeSupport.firePropertyChange("contDatavencimento", oldContDatavencimento, contDatavencimento);
    }

    public String getContDatapagamento() {
        return contDatapagamento;
    }

    public void setContDatapagamento(String contDatapagamento) {
        String oldContDatapagamento = this.contDatapagamento;
        this.contDatapagamento = contDatapagamento;
        changeSupport.firePropertyChange("contDatapagamento", oldContDatapagamento, contDatapagamento);
    }

    public String getContValorpago() {
        return contValorpago;
    }

    public void setContValorpago(String contValorpago) {
        String oldContValorpago = this.contValorpago;
        this.contValorpago = contValorpago;
        changeSupport.firePropertyChange("contValorpago", oldContValorpago, contValorpago);
    }

    public String getContJuro() {
        return contJuro;
    }

    public void setContJuro(String contJuro) {
        String oldContJuro = this.contJuro;
        this.contJuro = contJuro;
        changeSupport.firePropertyChange("contJuro", oldContJuro, contJuro);
    }

    public String getContMulta() {
        return contMulta;
    }

    public void setContMulta(String contMulta) {
        String oldContMulta = this.contMulta;
        this.contMulta = contMulta;
        changeSupport.firePropertyChange("contMulta", oldContMulta, contMulta);
    }

    public String getContParcela() {
        return contParcela;
    }

    public void setContParcela(String contParcela) {
        String oldContParcela = this.contParcela;
        this.contParcela = contParcela;
        changeSupport.firePropertyChange("contParcela", oldContParcela, contParcela);
    }

    public TbVenda getContCodvenda() {
        return contCodvenda;
    }

    public void setContCodvenda(TbVenda contCodvenda) {
        TbVenda oldContCodvenda = this.contCodvenda;
        this.contCodvenda = contCodvenda;
        changeSupport.firePropertyChange("contCodvenda", oldContCodvenda, contCodvenda);
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (contCodigo != null ? contCodigo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TbContasreceber)) {
            return false;
        }
        TbContasreceber other = (TbContasreceber) object;
        if ((this.contCodigo == null && other.contCodigo != null) || (this.contCodigo != null && !this.contCodigo.equals(other.contCodigo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Pojo.TbContasreceber[ contCodigo=" + contCodigo + " ]";
    }

    public void addPropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.removePropertyChangeListener(listener);
    }
    
}
